package edu.yctc.weblog.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import edu.yctc.weblog.entity.CategoryDO;
import edu.yctc.weblog.utils.PageQueryUtil;

@Mapper
public interface CategoryDAO {

    void insert(CategoryDO categoryDO);

    void deleteById(Long id);

    void update(CategoryDO categoryDO);

    CategoryDO getCategoryDOById(Long id);

    List<CategoryDO> getCategoryList(PageQueryUtil pageUtil);

    List<CategoryDO> getCategoryDOsByCategoryIds(@Param("categoryIds") List<Long> categoryIds);

    int getTotalCategories();

    CategoryDO getCategoryDOByName(String name);

    void deleteBatch(Long[] ids);

}